<html>
<head><meta charset="utf-8"><title>place 2.0 · t-compiler · Zulip Chat Archive</title></head>
<h2>Stream: <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/index.html">t-compiler</a></h2>
<h3>Topic: <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html">place 2.0</a></h3>

<hr>

<base href="https://rust-lang.zulipchat.com">

<head><link href="https://rust-lang.github.io/zulip_archive/style.css" rel="stylesheet"></head>

<a name="158043785"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158043785" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158043785">(Feb 11 2019 at 16:34)</a>:</h4>
<p><span class="user-mention" data-user-id="124288">@oli</span> <span class="user-mention" data-user-id="116083">@pnkfelix</span> <span class="user-mention" data-user-id="116009">@nikomatsakis</span> starting a thread here to talk about the Place refactor</p>



<a name="158043905"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158043905" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158043905">(Feb 11 2019 at 16:36)</a>:</h4>
<p>all-hands-discussion: <a href="https://paper.dropbox.com/doc/Topic-MIR-2.0-and-MIR-Optimizations--AXXCs_fiKzui0tii_ZOXNEJFAg-BwHR7kOhxDwL6vuAUoSTQ" target="_blank" title="https://paper.dropbox.com/doc/Topic-MIR-2.0-and-MIR-Optimizations--AXXCs_fiKzui0tii_ZOXNEJFAg-BwHR7kOhxDwL6vuAUoSTQ">https://paper.dropbox.com/doc/Topic-MIR-2.0-and-MIR-Optimizations--AXXCs_fiKzui0tii_ZOXNEJFAg-BwHR7kOhxDwL6vuAUoSTQ</a></p>



<a name="158044126"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158044126" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158044126">(Feb 11 2019 at 16:38)</a>:</h4>
<p>previous zulip discussion <a href="#narrow/stream/122657-wg-nll/topic/.2352708-new-place" title="#narrow/stream/122657-wg-nll/topic/.2352708-new-place">https://rust-lang.zulipchat.com/#narrow/stream/122657-wg-nll/topic/.2352708-new-place</a></p>



<a name="158045526"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158045526" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158045526">(Feb 11 2019 at 16:54)</a>:</h4>
<p>so, I've more or less took over the work about <code>NeoPlace</code> and I could continue with that but I've heard there's a new design idea floating around</p>



<a name="158045554"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158045554" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158045554">(Feb 11 2019 at 16:55)</a>:</h4>
<p>sadly I miss the last All Hands day :(</p>



<a name="158046034"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158046034" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nagisa <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158046034">(Feb 11 2019 at 17:01)</a>:</h4>
<p>I do not think we discussed places too much on the last day.</p>



<a name="158046431"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158046431" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158046431">(Feb 11 2019 at 17:05)</a>:</h4>
<p>Well, there are future changes to it that will refactor it further</p>



<a name="158046489"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158046489" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158046489">(Feb 11 2019 at 17:06)</a>:</h4>
<p>we'll still need the <code>Vec&lt;Projection&gt;</code> setup</p>



<a name="158046670"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158046670" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158046670">(Feb 11 2019 at 17:08)</a>:</h4>
<p>So. In order to not waste any of your work, but instead merge it in small steps, we'd first need to add the <code>Iterator</code> interface to <code>Projection</code> which unfolds the recursive datastructure processing into iterative ones</p>



<a name="158046712"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158046712" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158046712">(Feb 11 2019 at 17:09)</a>:</h4>
<p>then you should be able to merge the algorithms that you already ported without having to modify the recursive datastructures</p>



<a name="158046786"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158046786" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158046786">(Feb 11 2019 at 17:10)</a>:</h4>
<p>once we have transformed all recursive algorithms into iterative ones, we should be able to swap out the datastructures without too much churn</p>



<a name="158047023"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158047023" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158047023">(Feb 11 2019 at 17:12)</a>:</h4>
<p><span aria-label="+1" class="emoji emoji-1f44d" role="img" title="+1">:+1:</span></p>



<a name="158047058"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158047058" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158047058">(Feb 11 2019 at 17:13)</a>:</h4>
<p><span class="user-mention" data-user-id="124288">@oli</span> should we have a meeting with interested parties or build a document or something to state the work needed clearly?</p>



<a name="158047083"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158047083" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158047083">(Feb 11 2019 at 17:13)</a>:</h4>
<p>A document would be best I think</p>



<a name="158047144"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158047144" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158047144">(Feb 11 2019 at 17:14)</a>:</h4>
<p>Maybe you could start one and list what you already have?</p>



<a name="158047164"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158047164" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158047164">(Feb 11 2019 at 17:14)</a>:</h4>
<p>I'll add a proposed order of things to do and then we can discuss if that is a useful order</p>



<a name="158057174"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158057174" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158057174">(Feb 11 2019 at 19:28)</a>:</h4>
<p><span aria-label="+1" class="emoji emoji-1f44d" role="img" title="+1">:+1:</span></p>



<a name="158479684"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158479684" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158479684">(Feb 13 2019 at 21:41)</a>:</h4>
<p>Hmm, <span class="user-mention" data-user-id="124288">@oli</span>, if you are able to take over guiding <span class="user-mention" data-user-id="116266">@Santiago Pastorino</span> (and maybe <span class="user-mention" data-user-id="116773">@csmoe</span>) through these changes, that would be awesome.</p>



<a name="158481470"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158481470" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158481470">(Feb 13 2019 at 22:05)</a>:</h4>
<p>I owe a document about this</p>



<a name="158481485"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158481485" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158481485">(Feb 13 2019 at 22:05)</a>:</h4>
<p>gonna do it asap</p>



<a name="158520468"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158520468" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158520468">(Feb 14 2019 at 10:58)</a>:</h4>
<p><span class="user-mention" data-user-id="116266">@Santiago Pastorino</span> please don't put too much effort into it. Just a listing and some links of your current state is great</p>



<a name="158520495"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158520495" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158520495">(Feb 14 2019 at 10:59)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> will do</p>



<a name="158522101"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158522101" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158522101">(Feb 14 2019 at 11:31)</a>:</h4>
<p><span class="user-mention" data-user-id="124288">@oli</span> <span aria-label="+1" class="emoji emoji-1f44d" role="img" title="+1">:+1:</span></p>



<a name="158710161"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158710161" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158710161">(Feb 16 2019 at 20:11)</a>:</h4>
<p>I am starting a document in <a href="https://paper.dropbox.com/doc/Place-2.0--AXuL44Wh7zhtQcgC2JYOuoiNAQ-9NjhX4N9I3dEt6YCJM8Ln" target="_blank" title="https://paper.dropbox.com/doc/Place-2.0--AXuL44Wh7zhtQcgC2JYOuoiNAQ-9NjhX4N9I3dEt6YCJM8Ln">https://paper.dropbox.com/doc/Place-2.0--AXuL44Wh7zhtQcgC2JYOuoiNAQ-9NjhX4N9I3dEt6YCJM8Ln</a></p>



<a name="158710306"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158710306" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158710306">(Feb 16 2019 at 20:14)</a>:</h4>
<p><span class="user-mention" data-user-id="124288">@oli</span> great, gonna fill the document on monday</p>



<a name="158710313"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158710313" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158710313">(Feb 16 2019 at 20:14)</a>:</h4>
<p>well, unless you finish it I guess :)</p>



<a name="158710334"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158710334" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158710334">(Feb 16 2019 at 20:15)</a>:</h4>
<p>no hurry, I just ran out of PRs to write against rustc and actually went back to my TODO list to see what I can do</p>



<a name="158710339"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158710339" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158710339">(Feb 16 2019 at 20:15)</a>:</h4>
<p>are you documented what's done in the branch or what you want the Place 2.0 to be?</p>



<a name="158710389"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158710389" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158710389">(Feb 16 2019 at 20:16)</a>:</h4>
<p>I'm documenting the Place 2.0 things we talked about at the all hands</p>



<a name="158710395"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158710395" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158710395">(Feb 16 2019 at 20:16)</a>:</h4>
<p>and the plan how to get there</p>



<a name="158710398"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158710398" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158710398">(Feb 16 2019 at 20:16)</a>:</h4>
<p>great, should I do then what was accomplished in the current PR?</p>



<a name="158710400"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158710400" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158710400">(Feb 16 2019 at 20:16)</a>:</h4>
<p>jup</p>



<a name="158710401"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158710401" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158710401">(Feb 16 2019 at 20:16)</a>:</h4>
<p>ok</p>



<a name="158807433"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158807433" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158807433">(Feb 18 2019 at 15:27)</a>:</h4>
<p><span class="user-mention" data-user-id="124288">@oli</span> starting the document about the current status of things</p>



<a name="158807445"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158807445" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158807445">(Feb 18 2019 at 15:27)</a>:</h4>
<p>so we can start discussing and start working on it :)</p>



<a name="158811537"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158811537" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158811537">(Feb 18 2019 at 16:27)</a>:</h4>
<p><span class="user-mention" data-user-id="124288">@oli</span> <a href="https://paper.dropbox.com/doc/Place-2.0-current-PR-status--AXyh0a7OBh0StKNYTmaPcwtxAg-vmbnFv8VkCEuL57QfWWMH" target="_blank" title="https://paper.dropbox.com/doc/Place-2.0-current-PR-status--AXyh0a7OBh0StKNYTmaPcwtxAg-vmbnFv8VkCEuL57QfWWMH">https://paper.dropbox.com/doc/Place-2.0-current-PR-status--AXyh0a7OBh0StKNYTmaPcwtxAg-vmbnFv8VkCEuL57QfWWMH</a></p>



<a name="158811552"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158811552" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158811552">(Feb 18 2019 at 16:27)</a>:</h4>
<p>have read your document and added a couple of comments there</p>



<a name="158811559"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158811559" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158811559">(Feb 18 2019 at 16:27)</a>:</h4>
<p>I can continue in the direction stated in my document</p>



<a name="158811657"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158811657" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158811657">(Feb 18 2019 at 16:28)</a>:</h4>
<p>I'm not stuck in the process I stopped for a bit working on the thing because <span class="user-mention" data-user-id="116009">@nikomatsakis</span> told me that after the last All Hands days there may have been changes to the design</p>



<a name="158812894"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158812894" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158812894">(Feb 18 2019 at 16:47)</a>:</h4>
<p>So, there were only concerns about the viability of doing your PR in one go</p>



<a name="158812955"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158812955" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158812955">(Feb 18 2019 at 16:48)</a>:</h4>
<p>there are further design changes, but they are addons that can come afterwards and that are actually orthogonal imo</p>



<a name="158813293"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158813293" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158813293">(Feb 18 2019 at 16:53)</a>:</h4>
<p>ok</p>



<a name="158813312"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158813312" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158813312">(Feb 18 2019 at 16:53)</a>:</h4>
<p>so ... what should I do? :)</p>



<a name="158813486"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158813486" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158813486">(Feb 18 2019 at 16:55)</a>:</h4>
<p>is there an alternative/better strategy to the one taked in my branch?</p>



<a name="158813584"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158813584" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158813584">(Feb 18 2019 at 16:56)</a>:</h4>
<p>The suggestion was to implement an iterator over <code>Place</code> which gives you the projections in the order that the slice would give us</p>



<a name="158813593"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158813593" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158813593">(Feb 18 2019 at 16:56)</a>:</h4>
<p>then implement the algorithms on top of that</p>



<a name="158813605"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158813605" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158813605">(Feb 18 2019 at 16:56)</a>:</h4>
<p>this way, every algorithm can be ported and merged without having to require a big PR like yours</p>



<a name="158813642"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158813642" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158813642">(Feb 18 2019 at 16:57)</a>:</h4>
<p>Since you already touched a lot of these algorithms, I have a question: Are most of these feasible on an iterator?</p>



<a name="158813650"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158813650" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158813650">(Feb 18 2019 at 16:57)</a>:</h4>
<p>(forward or backward)</p>



<a name="158813729"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158813729" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158813729">(Feb 18 2019 at 16:58)</a>:</h4>
<p>most of the algorithms were not implemented by me</p>



<a name="158813765"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158813765" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158813765">(Feb 18 2019 at 16:58)</a>:</h4>
<p>so, basically the work was, build the structure and implement the algorithms that was done by <span class="user-mention" data-user-id="116773">@csmoe</span></p>



<a name="158813823"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158813823" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158813823">(Feb 18 2019 at 16:59)</a>:</h4>
<p>then I took over when we started to make use of <code>NeoPlace</code> and start to replace the new structure with the current old <code>Place</code></p>



<a name="158813908"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158813908" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158813908">(Feb 18 2019 at 17:00)</a>:</h4>
<p><span class="user-mention" data-user-id="124288">@oli</span> maybe I should just start from scratch and do what you're mentioning and see what happens</p>



<a name="158813915"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158813915" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158813915">(Feb 18 2019 at 17:00)</a>:</h4>
<p>the algorithms are there so, most of the stuff would be copying and pasting</p>



<a name="158813974"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158813974" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158813974">(Feb 18 2019 at 17:01)</a>:</h4>
<p>can use the opportunity to better review the algorithms, when I was working on the thing I found some issues on a couple</p>



<a name="158813976"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158813976" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158813976">(Feb 18 2019 at 17:01)</a>:</h4>
<p>Presumably all the neoplace algorithms can be copy pasted from your branch, yes</p>



<a name="158814155"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158814155" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158814155">(Feb 18 2019 at 17:03)</a>:</h4>
<p>ok, so I guess I should try that then :)</p>



<a name="158814166"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158814166" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158814166">(Feb 18 2019 at 17:03)</a>:</h4>
<p>Let me look at the branches again and summon eddyb XD I'll do that tomorrow</p>



<a name="158814218"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158814218" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158814218">(Feb 18 2019 at 17:04)</a>:</h4>
<p><span aria-label="+1" class="emoji emoji-1f44d" role="img" title="+1">:+1:</span></p>



<a name="158814229"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158814229" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158814229">(Feb 18 2019 at 17:04)</a>:</h4>
<p>I don't want you to waste any time, so let's have a closer look first</p>



<a name="158814239"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158814239" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158814239">(Feb 18 2019 at 17:04)</a>:</h4>
<p>makes sense</p>



<a name="158814384"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158814384" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158814384">(Feb 18 2019 at 17:06)</a>:</h4>
<p><span class="user-mention" data-user-id="124288">@oli</span> actually, unsure if I'm understanding correctly the iterator idea</p>



<a name="158814414"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158814414" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158814414">(Feb 18 2019 at 17:07)</a>:</h4>
<p>why would that make things be easier and mergeable in tinier steps?</p>



<a name="158814419"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158814419" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158814419">(Feb 18 2019 at 17:07)</a>:</h4>
<p>I may have understood the idea wrong</p>



<a name="158822352"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158822352" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158822352">(Feb 18 2019 at 19:14)</a>:</h4>
<p>because we wouldn't have to change the datastructure</p>



<a name="158822376"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158822376" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158822376">(Feb 18 2019 at 19:15)</a>:</h4>
<p>Note that I'm just repeating what was said, I have not looked at this in enough detail to have an educated opinion</p>



<a name="158962852"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158962852" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158962852">(Feb 20 2019 at 10:07)</a>:</h4>
<p>So I've looked into your PR. I think we can start pulling out some small changes and merge them without having big diffs and making your life easier by simplifying rebases</p>



<a name="158962897"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158962897" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158962897">(Feb 20 2019 at 10:08)</a>:</h4>
<p>I've added it to your <a href="https://paper.dropbox.com/doc/Place-2.0-current-PR-status--AX72Vb133Ny_V494ALjwz6dZAg-vmbnFv8VkCEuL57QfWWMH#:uid=518781409188999927847299&amp;h2=oli-obk-musings-for-incrementa" target="_blank" title="https://paper.dropbox.com/doc/Place-2.0-current-PR-status--AX72Vb133Ny_V494ALjwz6dZAg-vmbnFv8VkCEuL57QfWWMH#:uid=518781409188999927847299&amp;h2=oli-obk-musings-for-incrementa">paper</a></p>



<a name="158962909"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158962909" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158962909">(Feb 20 2019 at 10:08)</a>:</h4>
<p>What do you think?</p>



<a name="158963862"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158963862" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158963862">(Feb 20 2019 at 10:27)</a>:</h4>
<p><span class="user-mention" data-user-id="124288">@oli</span> sounds good</p>



<a name="158963906"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158963906" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158963906">(Feb 20 2019 at 10:28)</a>:</h4>
<p>I still don't understand how the iterator idea makes things easier</p>



<a name="158963924"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158963924" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158963924">(Feb 20 2019 at 10:28)</a>:</h4>
<p>and what things are made easier by that</p>



<a name="158963935"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158963935" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158963935">(Feb 20 2019 at 10:28)</a>:</h4>
<p>because I still need to replace <code>Place</code> with <code>NeoPlace</code> at some point in the MIR</p>



<a name="158963937"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158963937" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158963937">(Feb 20 2019 at 10:28)</a>:</h4>
<p>and all that</p>



<a name="158963948"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158963948" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158963948">(Feb 20 2019 at 10:29)</a>:</h4>
<p>or by easier you meant that are less conflicts?</p>



<a name="158963952"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158963952" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158963952">(Feb 20 2019 at 10:29)</a>:</h4>
<p>to be honest conflicts weren't bad</p>



<a name="158963954"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158963954" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158963954">(Feb 20 2019 at 10:29)</a>:</h4>
<p>The thing is, each of these steps are single PRs that can be merged</p>



<a name="158963960"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158963960" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158963960">(Feb 20 2019 at 10:29)</a>:</h4>
<p>well, but reviewing the entire PR is bad ;)</p>



<a name="158963968"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158963968" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158963968">(Feb 20 2019 at 10:29)</a>:</h4>
<p>(I'm aware I created the miri PR last year that was way worse)</p>



<a name="158964035"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158964035" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158964035">(Feb 20 2019 at 10:30)</a>:</h4>
<p>yeah</p>



<a name="158964046"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158964046" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158964046">(Feb 20 2019 at 10:30)</a>:</h4>
<p>reviewing smaller PRs is much easier, and we can't do the <code>Place</code> -&gt; <code>NeoPlace</code> in master, it's too expensive I think</p>



<a name="158964062"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158964062" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158964062">(Feb 20 2019 at 10:30)</a>:</h4>
<p>though it might be worth measuring that</p>



<a name="158964071"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158964071" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158964071">(Feb 20 2019 at 10:30)</a>:</h4>
<p>yeah it would need to be merged when there's no <code>NeoPlace</code> in the PR</p>



<a name="158964091"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158964091" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158964091">(Feb 20 2019 at 10:31)</a>:</h4>
<p>so at the very last minute</p>



<a name="158964196"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158964196" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158964196">(Feb 20 2019 at 10:33)</a>:</h4>
<p>We could do a test-PR for perf where all that happens is that you have the conversions, and drop the result immediately (after sending it into a black_box)</p>



<a name="158964210"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158964210" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158964210">(Feb 20 2019 at 10:33)</a>:</h4>
<p>if that's not too expensive, then we can just do the PR that you have in small steps</p>



<a name="158964262"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158964262" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158964262">(Feb 20 2019 at 10:34)</a>:</h4>
<p>but I do fear that it'll show up significantly</p>



<a name="158964403"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158964403" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158964403">(Feb 20 2019 at 10:37)</a>:</h4>
<p>yeah, the idea of this PR was not to have it merge by intermediate steps</p>



<a name="158964448"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158964448" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158964448">(Feb 20 2019 at 10:38)</a>:</h4>
<p>it will be bad I think</p>



<a name="158964459"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158964459" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158964459">(Feb 20 2019 at 10:38)</a>:</h4>
<p>anyway, let's switch to your idea :)</p>



<a name="158965160"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158965160" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158965160">(Feb 20 2019 at 10:50)</a>:</h4>
<p><span class="user-mention" data-user-id="124288">@oli</span> will ping you in 3/4 hours when I'm back so we can start with this</p>



<a name="158970622"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158970622" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158970622">(Feb 20 2019 at 12:39)</a>:</h4>
<p><span class="user-mention" data-user-id="124288">@oli</span> kind of back</p>



<a name="158970626"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158970626" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158970626">(Feb 20 2019 at 12:39)</a>:</h4>
<p><span aria-label="wave" class="emoji emoji-1f44b" role="img" title="wave">:wave:</span></p>



<a name="158970627"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158970627" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158970627">(Feb 20 2019 at 12:39)</a>:</h4>
<p>why did you remove this from the paper doc ...</p>



<a name="158970630"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158970630" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158970630">(Feb 20 2019 at 12:39)</a>:</h4>
<div class="codehilite"><pre><span></span><span class="c1">// this might do the trick for iterating in the same direction that we&#39;d recurse</span>
<span class="c1">// though this is often not what we want, we want the reverse (iterating in source direction)</span>
<span class="k">impl</span><span class="o">&lt;</span><span class="na">&#39;a</span><span class="p">,</span><span class="w"> </span><span class="na">&#39;tcx</span><span class="o">&gt;</span><span class="w"> </span><span class="nb">Iterator</span><span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="o">&amp;</span><span class="na">&#39;a</span><span class="w"> </span><span class="n">PlaceProjection</span><span class="o">&lt;</span><span class="na">&#39;tcx</span><span class="o">&gt;</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
<span class="w">    </span><span class="k">type</span> <span class="nc">Item</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="o">&amp;</span><span class="na">&#39;a</span><span class="w"> </span><span class="n">PlaceElem</span><span class="o">&lt;</span><span class="na">&#39;tcx</span><span class="o">&gt;</span><span class="p">;</span><span class="w"></span>
<span class="w">    </span><span class="k">fn</span> <span class="nf">next</span><span class="p">(</span><span class="o">&amp;</span><span class="k">mut</span><span class="w"> </span><span class="bp">self</span><span class="p">)</span><span class="w"> </span>-&gt; <span class="nb">Option</span><span class="o">&lt;</span><span class="n">Self</span>::<span class="n">Item</span><span class="o">&gt;</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
<span class="w">        </span><span class="k">match</span><span class="w"> </span><span class="o">&amp;</span><span class="bp">self</span><span class="p">.</span><span class="n">base</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
<span class="w">            </span><span class="n">Place</span>::<span class="n">Projection</span><span class="p">(</span><span class="n">p</span><span class="p">)</span><span class="w"> </span><span class="o">=&gt;</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
<span class="w">                </span><span class="o">*</span><span class="bp">self</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">p</span><span class="p">;</span><span class="w"></span>
<span class="w">                </span><span class="nb">Some</span><span class="p">(</span><span class="o">&amp;</span><span class="n">p</span><span class="p">.</span><span class="n">elem</span><span class="p">)</span><span class="w"></span>
<span class="w">            </span><span class="p">},</span><span class="w"></span>
<span class="w">            </span><span class="n">_</span><span class="w"> </span><span class="o">=&gt;</span><span class="w"> </span><span class="nb">None</span><span class="p">,</span><span class="w"></span>
<span class="w">        </span><span class="p">}</span><span class="w"></span>
<span class="w">    </span><span class="p">}</span><span class="w"></span>
<span class="p">}</span><span class="w"></span>
</pre></div>



<a name="158970636"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158970636" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158970636">(Feb 20 2019 at 12:39)</a>:</h4>
<p>oh, because it seemed useless</p>



<a name="158970638"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158970638" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158970638">(Feb 20 2019 at 12:39)</a>:</h4>
<p>it's the wrong direction</p>



<a name="158970641"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158970641" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158970641">(Feb 20 2019 at 12:39)</a>:</h4>
<p>ok</p>



<a name="158970646"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158970646" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158970646">(Feb 20 2019 at 12:39)</a>:</h4>
<p>but you can keep it if there are any algorithms that need it</p>



<a name="158970702"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158970702" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158970702">(Feb 20 2019 at 12:40)</a>:</h4>
<p>so ... let me read a bit and try to understand the directions I need to take</p>



<a name="158970718"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158970718" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158970718">(Feb 20 2019 at 12:40)</a>:</h4>
<p>the idea would be to ...</p>



<a name="158970720"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158970720" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158970720">(Feb 20 2019 at 12:40)</a>:</h4>
<p>1. add a <code>PlaceBase</code> and use that from <code>Place</code></p>



<a name="158970733"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158970733" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158970733">(Feb 20 2019 at 12:41)</a>:</h4>
<p>2. add an iterate method to <code>Place</code></p>



<a name="158970753"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158970753" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158970753">(Feb 20 2019 at 12:41)</a>:</h4>
<p>3. use iterate to implement the algorithms</p>



<a name="158970815"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158970815" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158970815">(Feb 20 2019 at 12:42)</a>:</h4>
<p>4. add <code>NeoPlace</code> with iterate method</p>



<a name="158970816"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158970816" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158970816">(Feb 20 2019 at 12:42)</a>:</h4>
<p>right?</p>



<a name="158970821"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158970821" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158970821">(Feb 20 2019 at 12:42)</a>:</h4>
<p>I'm not sure about 4.</p>



<a name="158970829"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158970829" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158970829">(Feb 20 2019 at 12:42)</a>:</h4>
<p>it might be that we'll have to go from <code>Place</code> to <code>NeoPlace</code> in one go</p>



<a name="158970833"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158970833" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158970833">(Feb 20 2019 at 12:42)</a>:</h4>
<p>ok, we can see as we go</p>



<a name="158970842"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158970842" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158970842">(Feb 20 2019 at 12:42)</a>:</h4>
<p>1 is clear</p>



<a name="158970857"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158970857" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158970857">(Feb 20 2019 at 12:43)</a>:</h4>
<p>about 2, couldn't that hurt performance?</p>



<a name="158970874"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158970874" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158970874">(Feb 20 2019 at 12:43)</a>:</h4>
<p>2 won't hurt perf, because the method would be unused ;)</p>



<a name="158970878"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158970878" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158970878">(Feb 20 2019 at 12:43)</a>:</h4>
<p>3. could hurt perf</p>



<a name="158970888"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158970888" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158970888">(Feb 20 2019 at 12:43)</a>:</h4>
<p>ahh well yeah :)</p>



<a name="158970937"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158970937" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158970937">(Feb 20 2019 at 12:44)</a>:</h4>
<p>but you can start in the code that uses <code>unroll_place</code></p>



<a name="158970964"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158970964" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158970964">(Feb 20 2019 at 12:44)</a>:</h4>
<p>that should be completely free from perf regressions</p>



<a name="158970971"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158970971" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158970971">(Feb 20 2019 at 12:44)</a>:</h4>
<p>since it already does this</p>



<a name="158970990"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158970990" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158970990">(Feb 20 2019 at 12:44)</a>:</h4>
<p>yeah</p>



<a name="158970994"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158970994" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158970994">(Feb 20 2019 at 12:44)</a>:</h4>
<p>and also, the idea is that that iterator iterates over PlaceProjections?</p>



<a name="158971002"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158971002" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158971002">(Feb 20 2019 at 12:44)</a>:</h4>
<p>what about Base?</p>



<a name="158971025"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158971025" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158971025">(Feb 20 2019 at 12:45)</a>:</h4>
<p>to be honest right now I don't remember how is the code layed out in that sense</p>



<a name="158971050"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158971050" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158971050">(Feb 20 2019 at 12:45)</a>:</h4>
<p>saw some bits of code were you were getting a collection with the projections and the base, with NeoPlace I think that was not true</p>



<a name="158971056"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158971056" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158971056">(Feb 20 2019 at 12:45)</a>:</h4>
<p>but just trying to understand what you mean exactly by that iterator</p>



<a name="158971119"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158971119" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158971119">(Feb 20 2019 at 12:46)</a>:</h4>
<p>it iterates over <code>PlaceProjection</code>s but you have access to the place the entire time</p>



<a name="158971136"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158971136" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158971136">(Feb 20 2019 at 12:46)</a>:</h4>
<p>The iterator is basically just a wrapper around the single linked list produces by <code>unroll_place</code></p>



<a name="158971142"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158971142" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158971142">(Feb 20 2019 at 12:46)</a>:</h4>
<p>just giving us a convenient API</p>



<a name="158971147"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158971147" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158971147">(Feb 20 2019 at 12:46)</a>:</h4>
<p>ahh ok ok</p>



<a name="158971148"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158971148" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158971148">(Feb 20 2019 at 12:46)</a>:</h4>
<p>you can start without the iterator if you want</p>



<a name="158971149"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158971149" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158971149">(Feb 20 2019 at 12:46)</a>:</h4>
<p>I see</p>



<a name="158971168"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158971168" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158971168">(Feb 20 2019 at 12:47)</a>:</h4>
<p>just putting the <code>unroll_place</code>onto <code>Place</code></p>



<a name="158971181"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158971181" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158971181">(Feb 20 2019 at 12:47)</a>:</h4>
<p>ok, let me go over all this 3 points and we can discuss after it</p>



<a name="158971184"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158971184" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158971184">(Feb 20 2019 at 12:47)</a>:</h4>
<p>I won't be able until a bit later today</p>



<a name="158971186"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/158971186" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#158971186">(Feb 20 2019 at 12:47)</a>:</h4>
<p>but anyway will ping you</p>



<a name="159079766"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159079766" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159079766">(Feb 21 2019 at 16:04)</a>:</h4>
<p><span class="user-mention" data-user-id="124288">@oli</span> btw, just started to add <code>PlaceBase</code></p>



<a name="159079771"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159079771" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159079771">(Feb 21 2019 at 16:04)</a>:</h4>
<p>going through the compile errors</p>



<a name="159079777"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159079777" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159079777">(Feb 21 2019 at 16:04)</a>:</h4>
<p>:)</p>



<a name="159079838"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159079838" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159079838">(Feb 21 2019 at 16:05)</a>:</h4>
<p>Thanks so much for taking point on this</p>



<a name="159079927"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159079927" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159079927">(Feb 21 2019 at 16:06)</a>:</h4>
<p>310 errors :')</p>



<a name="159080005"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159080005" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> csmoe <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159080005">(Feb 21 2019 at 16:07)</a>:</h4>
<p><span class="user-mention" data-user-id="116266">@Santiago Pastorino</span> may I have your branch url? or you just started locally.</p>



<a name="159080021"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159080021" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159080021">(Feb 21 2019 at 16:07)</a>:</h4>
<p>locally</p>



<a name="159080037"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159080037" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> csmoe <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159080037">(Feb 21 2019 at 16:08)</a>:</h4>
<p>okay</p>



<a name="159080083"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159080083" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159080083">(Feb 21 2019 at 16:08)</a>:</h4>
<p>but I'm going to push as soon as there's something</p>



<a name="159081427"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159081427" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159081427">(Feb 21 2019 at 16:22)</a>:</h4>
<p>I just had an idea for another intermediate step (added to <a href="https://paper.dropbox.com/doc/Place-2.0-current-PR-status--AX~vQTEYLbebQ8o~qNmVWNH9Ag-vmbnFv8VkCEuL57QfWWMH#:uid=518781409188999927847299&amp;h2=oli-obk-musings-for-incrementa" target="_blank" title="https://paper.dropbox.com/doc/Place-2.0-current-PR-status--AX~vQTEYLbebQ8o~qNmVWNH9Ag-vmbnFv8VkCEuL57QfWWMH#:uid=518781409188999927847299&amp;h2=oli-obk-musings-for-incrementa">https://paper.dropbox.com/doc/Place-2.0-current-PR-status--AX~vQTEYLbebQ8o~qNmVWNH9Ag-vmbnFv8VkCEuL57QfWWMH#:uid=518781409188999927847299&amp;h2=oli-obk-musings-for-incrementa</a>)</p>



<a name="159081480"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159081480" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159081480">(Feb 21 2019 at 16:23)</a>:</h4>
<p>We can rip out the base structure out of the projection structure and just have a "leaf" enum variant where the actual base would have been</p>



<a name="159082516"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159082516" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159082516">(Feb 21 2019 at 16:33)</a>:</h4>
<p>you meant, this part ...</p>



<a name="159082526"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159082526" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159082526">(Feb 21 2019 at 16:33)</a>:</h4>
<div class="codehilite"><pre><span></span><span class="k">struct</span> <span class="nc">Place</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
<span class="w">    </span><span class="n">base</span>: <span class="nc">PlaceBase</span><span class="p">,</span><span class="w"></span>
<span class="w">    </span><span class="n">projection</span>: <span class="nc">PlaceProjection</span><span class="p">,</span><span class="w"></span>
<span class="p">}</span><span class="w"></span>
<span class="k">enum</span> <span class="nc">PlaceProjection</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
<span class="w">    </span><span class="n">Base</span><span class="p">,</span><span class="w"></span>
<span class="w">    </span><span class="n">Projection</span><span class="p">(</span><span class="nb">Box</span><span class="o">&lt;</span><span class="n">PlaceProjection</span><span class="o">&gt;</span><span class="p">),</span><span class="w"></span>
<span class="w">    </span><span class="n">Deref</span><span class="p">,</span><span class="w"></span>
<span class="w">    </span><span class="n">Index</span><span class="p">(..),</span><span class="w"></span>
<span class="w">    </span><span class="p">...</span><span class="w"></span>
<span class="p">}</span><span class="w"></span>
</pre></div>



<a name="159083098"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159083098" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159083098">(Feb 21 2019 at 16:39)</a>:</h4>
<p>jup</p>



<a name="159083218"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159083218" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159083218">(Feb 21 2019 at 16:40)</a>:</h4>
<p>so, one drawback of that is ... changing how you structure <code>Place</code> gives your ~ 300 errors :)</p>



<a name="159083221"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159083221" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159083221">(Feb 21 2019 at 16:40)</a>:</h4>
<p>I can go over all of them</p>



<a name="159083248"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159083248" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159083248">(Feb 21 2019 at 16:41)</a>:</h4>
<p>I was just thinking what are the benefits and drawbacks of splitting step 1 and step 3</p>



<a name="159083264"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159083264" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159083264">(Feb 21 2019 at 16:41)</a>:</h4>
<p>or doing them together so I go through the 300 errors at once</p>



<a name="159083350"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159083350" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159083350">(Feb 21 2019 at 16:42)</a>:</h4>
<p>in the first step I need to do changes like ...</p>



<a name="159083357"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159083357" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159083357">(Feb 21 2019 at 16:42)</a>:</h4>
<div class="codehilite"><pre><span></span>-            mir::Place::Promoted(ref promoted) =&gt; {
+            mir::Place::Base(mir::PlaceBase::Promoted(ref promoted)) =&gt; {
</pre></div>



<a name="159083374"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159083374" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159083374">(Feb 21 2019 at 16:42)</a>:</h4>
<p>but given that now is a struct I'd need to change again</p>



<a name="159083392"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159083392" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159083392">(Feb 21 2019 at 16:42)</a>:</h4>
<p>to be clear, I'm fine to doing all that twice</p>



<a name="159083395"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159083395" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159083395">(Feb 21 2019 at 16:42)</a>:</h4>
<p>no worries</p>



<a name="159083408"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159083408" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159083408">(Feb 21 2019 at 16:42)</a>:</h4>
<p>will practice a LOT my vim skills :P</p>



<a name="159083430"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159083430" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159083430">(Feb 21 2019 at 16:43)</a>:</h4>
<p>but just rising the issue :)</p>



<a name="159096443"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159096443" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159096443">(Feb 21 2019 at 19:27)</a>:</h4>
<p>I'm fine with doing those in one sweep</p>



<a name="159096479"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159096479" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159096479">(Feb 21 2019 at 19:27)</a>:</h4>
<p>you're right, this is gonna touch all of the same code</p>



<a name="159097468"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159097468" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159097468">(Feb 21 2019 at 19:37)</a>:</h4>
<p>I'm kind of 60% with the task 1, so I guess I can just finish that and use the practice to do it again :)</p>



<a name="159129504"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159129504" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159129504">(Feb 22 2019 at 04:29)</a>:</h4>
<p><span class="user-mention" data-user-id="124288">@oli</span> <a href="https://github.com/rust-lang/rust/pull/58631" target="_blank" title="https://github.com/rust-lang/rust/pull/58631">https://github.com/rust-lang/rust/pull/58631</a></p>



<a name="159142819"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159142819" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159142819">(Feb 22 2019 at 09:39)</a>:</h4>
<p>At the all-hands, it was also suggested that <code>Deref</code> should move out of <code>PlaceProjection</code> and into <code>PlaceBase</code>. is that still planned (as a next step, I suppose)?</p>



<a name="159143111"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159143111" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159143111">(Feb 22 2019 at 09:43)</a>:</h4>
<p>that's in the <a href="https://paper.dropbox.com/doc/Place-2.0--AX_j7bxqTEP6jsA7Ph_cZ6z9Ag-9NjhX4N9I3dEt6YCJM8Ln" target="_blank" title="https://paper.dropbox.com/doc/Place-2.0--AX_j7bxqTEP6jsA7Ph_cZ6z9Ag-9NjhX4N9I3dEt6YCJM8Ln">second document</a></p>



<a name="159143187"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159143187" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159143187">(Feb 22 2019 at 09:44)</a>:</h4>
<p>and it is ignored for this refactoring, because moving <code>Deref</code> out is a change that has much deeper consequences than just a shallow restructuring of a datastructure</p>



<a name="159149445"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159149445" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159149445">(Feb 22 2019 at 11:32)</a>:</h4>
<p><span class="user-mention" data-user-id="124288">@oli</span> I'd love to have a way of running <code>rustfmt</code> over the git diff output :)</p>



<a name="159149450"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159149450" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159149450">(Feb 22 2019 at 11:32)</a>:</h4>
<p>saw your review, gonna fix it as soon as I can</p>



<a name="159149877"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159149877" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159149877">(Feb 22 2019 at 11:40)</a>:</h4>
<p><span class="user-mention" data-user-id="124288">@oli</span> also <a href="https://github.com/rust-lang/rust/pull/58631#discussion_r259308597" target="_blank" title="https://github.com/rust-lang/rust/pull/58631#discussion_r259308597">https://github.com/rust-lang/rust/pull/58631#discussion_r259308597</a></p>



<a name="159212722"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159212722" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159212722">(Feb 23 2019 at 04:17)</a>:</h4>
<p><span class="user-mention" data-user-id="124288">@oli</span> force pushed <a href="https://github.com/rust-lang/rust/pull/58631" target="_blank" title="https://github.com/rust-lang/rust/pull/58631">https://github.com/rust-lang/rust/pull/58631</a></p>



<a name="159220142"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159220142" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159220142">(Feb 23 2019 at 08:23)</a>:</h4>
<p>Awesome. Feel free to rebase and r=me if other PRs cause merge conflicts</p>



<a name="159220822"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159220822" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> centril <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159220822">(Feb 23 2019 at 08:45)</a>:</h4>
<p>I p=1-ed in case you get conflicts so you dont have to do it so many times</p>



<a name="159283870"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159283870" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159283870">(Feb 24 2019 at 17:26)</a>:</h4>
<p><span class="user-mention" data-user-id="124288">@oli</span> <a href="https://github.com/rust-lang/rust/pull/58631" target="_blank" title="https://github.com/rust-lang/rust/pull/58631">https://github.com/rust-lang/rust/pull/58631</a> saw some failures on src/tools/clipy and src/tools/miri, gonna fix when I have some time with the computer, probably tomorrow</p>



<a name="159297797"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159297797" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159297797">(Feb 24 2019 at 21:36)</a>:</h4>
<p><span class="user-mention" data-user-id="124288">@oli</span> just got some minutes to fix this, how are things on <code>src/tools</code> adapter because those live in a different repo, I could provide a PR to each of those repos and as part of this PR bump the deps?</p>



<a name="159297801"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159297801" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159297801">(Feb 24 2019 at 21:36)</a>:</h4>
<p>is that what I should do?</p>



<a name="159299043"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159299043" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Matthew Jasper <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159299043">(Feb 24 2019 at 22:06)</a>:</h4>
<p>Wait until the beta cut, then you will be able to temporarily break them.</p>



<a name="159299617"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159299617" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159299617">(Feb 24 2019 at 22:22)</a>:</h4>
<p><span class="user-mention" data-user-id="116118">@Matthew Jasper</span> when is the next beta cut? is there a release calendar out there?</p>



<a name="159299641"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159299641" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159299641">(Feb 24 2019 at 22:23)</a>:</h4>
<p>I see the Rust release calendar that says the release is on feb 28th</p>



<a name="159299682"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159299682" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159299682">(Feb 24 2019 at 22:24)</a>:</h4>
<p>but that’s for stable when exactly beta happens?</p>



<a name="159300816"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159300816" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Matthew Jasper <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159300816">(Feb 24 2019 at 22:58)</a>:</h4>
<p>Around the same time, release cut is usually on the Monday, but it might be a bit late this time due to some bugs. Beta cut is then later that week usually.</p>



<a name="159302644"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159302644" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159302644">(Feb 24 2019 at 23:53)</a>:</h4>
<p><span aria-label="+1" class="emoji emoji-1f44d" role="img" title="+1">:+1:</span></p>



<a name="159367446"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159367446" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159367446">(Feb 25 2019 at 20:03)</a>:</h4>
<p><span class="user-mention" data-user-id="124288">@oli</span> do you agree with what we've said with Matthew?</p>



<a name="159405714"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159405714" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159405714">(Feb 26 2019 at 07:52)</a>:</h4>
<p>Yea, just waiting until the beta is cut sgtm, we'll prioritze the PR to reduce rebasing pains</p>



<a name="159422578"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159422578" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159422578">(Feb 26 2019 at 13:14)</a>:</h4>
<p><span class="user-mention" data-user-id="124288">@oli</span> but should I already send PRs to tools repos?</p>



<a name="159423213"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159423213" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159423213">(Feb 26 2019 at 13:24)</a>:</h4>
<p>Oh, that's a great idea, that will speed up fixing the tools after the breakage from your PR.</p>



<a name="159425209"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159425209" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159425209">(Feb 26 2019 at 13:56)</a>:</h4>
<p>ok, will do that in a bit</p>



<a name="159443822"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159443822" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159443822">(Feb 26 2019 at 18:05)</a>:</h4>
<p><span class="user-mention" data-user-id="124288">@oli</span> <a href="https://github.com/rust-lang/miri/pull/647" target="_blank" title="https://github.com/rust-lang/miri/pull/647">https://github.com/rust-lang/miri/pull/647</a> and <a href="https://github.com/rust-lang/rust-clippy/pull/3823" target="_blank" title="https://github.com/rust-lang/rust-clippy/pull/3823">https://github.com/rust-lang/rust-clippy/pull/3823</a></p>



<a name="159444240"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159444240" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159444240">(Feb 26 2019 at 18:11)</a>:</h4>
<p>and btw, rebased <a href="https://github.com/rust-lang/rust/pull/58631" target="_blank" title="https://github.com/rust-lang/rust/pull/58631">https://github.com/rust-lang/rust/pull/58631</a> because it was not mergeable anymore</p>



<a name="159453217"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159453217" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159453217">(Feb 26 2019 at 20:01)</a>:</h4>
<p><span class="user-mention" data-user-id="124288">@oli</span> meanwhile I wait for all this I was going to continue with what is next</p>



<a name="159453284"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159453284" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159453284">(Feb 26 2019 at 20:02)</a>:</h4>
<p>basically is this iterate idea you had using the unroll_place fn</p>



<a name="159453291"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159453291" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159453291">(Feb 26 2019 at 20:02)</a>:</h4>
<p>can you explain a bit more what your strategy is about and what do you want to accomplish with it?</p>



<a name="159453477"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159453477" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159453477">(Feb 26 2019 at 20:04)</a>:</h4>
<p>what's the connection between this for instance with PlaceComponentsIter?</p>



<a name="159453503"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159453503" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159453503">(Feb 26 2019 at 20:04)</a>:</h4>
<p>I guess if you can start explaining from the beginning would be great :)</p>



<a name="159453585"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159453585" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159453585">(Feb 26 2019 at 20:05)</a>:</h4>
<p>hmm... I did not know about <code>PlaceComponentsIter</code></p>



<a name="159453633"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159453633" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159453633">(Feb 26 2019 at 20:06)</a>:</h4>
<p>looks to me like this is pretty much what we want</p>



<a name="159453686"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159453686" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159453686">(Feb 26 2019 at 20:07)</a>:</h4>
<p>I'm confused</p>



<a name="159453693"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159453693" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159453693">(Feb 26 2019 at 20:07)</a>:</h4>
<p>what was the code that I was looking at before...</p>



<a name="159453776"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159453776" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159453776">(Feb 26 2019 at 20:08)</a>:</h4>
<p>Ok, so basically that step is already done. I guess you can pull the <code>unroll_place</code> function onto <code>Place</code> and make it an <code>unroll</code> method</p>



<a name="159453808"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159453808" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159453808">(Feb 26 2019 at 20:08)</a>:</h4>
<p>Then have a look at which algorithms can be implemented via <code>unroll</code> instead of recursion</p>



<a name="159454940"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159454940" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159454940">(Feb 26 2019 at 20:23)</a>:</h4>
<p>ok, so we want to move all that into <code>Place</code></p>



<a name="159454955"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159454955" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159454955">(Feb 26 2019 at 20:23)</a>:</h4>
<p>because there's a lot of things there that are only related to that</p>



<a name="159455048"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159455048" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159455048">(Feb 26 2019 at 20:24)</a>:</h4>
<p>in particular here <a href="https://github.com/rust-lang/rust/blob/master/src/librustc_mir/borrow_check/places_conflict.rs" target="_blank" title="https://github.com/rust-lang/rust/blob/master/src/librustc_mir/borrow_check/places_conflict.rs">https://github.com/rust-lang/rust/blob/master/src/librustc_mir/borrow_check/places_conflict.rs</a> is where <code>unroll_place</code> is defined and only used</p>



<a name="159455105"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159455105" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159455105">(Feb 26 2019 at 20:25)</a>:</h4>
<p>so, we just move the function to <code>Place</code> as <code>unroll</code> and call that from there?</p>



<a name="159455601"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159455601" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159455601">(Feb 26 2019 at 20:30)</a>:</h4>
<p>in particular that iterator exist for the only purpose of being used there</p>



<a name="159455630"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159455630" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159455630">(Feb 26 2019 at 20:31)</a>:</h4>
<p>so I guess I can move that altogether to where <code>Place</code> is defined and use <code>unroll</code> there</p>



<a name="159455636"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159455636" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159455636">(Feb 26 2019 at 20:31)</a>:</h4>
<p><span class="user-mention" data-user-id="124288">@oli</span> let me know if this is more or less your idea</p>



<a name="159455735"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159455735" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159455735">(Feb 26 2019 at 20:32)</a>:</h4>
<p>jup that fits my idea</p>



<a name="159464464"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159464464" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159464464">(Feb 26 2019 at 22:25)</a>:</h4>
<p><span class="user-mention" data-user-id="124288">@oli</span> another thing is if I should push all this to the same PR or we should just wait until beta to get the first PR and then come back to this?</p>



<a name="159464478"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159464478" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159464478">(Feb 26 2019 at 22:26)</a>:</h4>
<p>my guess is that I may be able to even change <code>Place</code> to be a struct in that 1 week window</p>



<a name="159464527"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159464527" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159464527">(Feb 26 2019 at 22:26)</a>:</h4>
<p>so everything is a bit quicker</p>



<a name="159464552"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159464552" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159464552">(Feb 26 2019 at 22:26)</a>:</h4>
<p>maybe these 2 changes some algorithms that use <code>unroll</code> instead of recursion if any and then change <code>Place</code> again to be a <code>struct</code> as you proposed</p>



<a name="159485573"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159485573" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159485573">(Feb 27 2019 at 06:05)</a>:</h4>
<p>I wouldn't include unroll changes in the PR, but struct changes are fine with me</p>



<a name="159485578"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159485578" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159485578">(Feb 27 2019 at 06:05)</a>:</h4>
<p>We can start merging again</p>



<a name="159485581"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159485581" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159485581">(Feb 27 2019 at 06:05)</a>:</h4>
<p>Beta has been cut</p>



<a name="159485651"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159485651" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159485651">(Feb 27 2019 at 06:07)</a>:</h4>
<p>Beta has been cut</p>



<a name="159485697"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159485697" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159485697">(Feb 27 2019 at 06:08)</a>:</h4>
<p>Beta has been cut</p>



<a name="159510318"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159510318" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159510318">(Feb 27 2019 at 13:22)</a>:</h4>
<p><span class="user-mention" data-user-id="124288">@oli</span> then merge what we have for now :)</p>



<a name="159510412"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159510412" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159510412">(Feb 27 2019 at 13:23)</a>:</h4>
<p><span class="user-mention" data-user-id="124288">@oli</span> this <a href="https://github.com/rust-lang/rust/pull/58631" target="_blank" title="https://github.com/rust-lang/rust/pull/58631">https://github.com/rust-lang/rust/pull/58631</a> is ready to r+</p>



<a name="159510577"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159510577" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159510577">(Feb 27 2019 at 13:24)</a>:</h4>
<p>the unroll changes are ready too but I didn't push them there</p>



<a name="159524219"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159524219" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159524219">(Feb 27 2019 at 15:31)</a>:</h4>
<p>and also ...</p>



<a name="159524226"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159524226" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159524226">(Feb 27 2019 at 15:31)</a>:</h4>
<div class="codehilite"><pre><span></span>  - Proposed structure is like this (inspired by something @eddyb said, and I imagine that they will have suggestions too):


    struct Place&lt;&#39;tcx&gt; {
        base: PlaceBase&lt;&#39;tcx&gt;,
        elem: &amp;&#39;tcx Slice&lt;ProjectionElem&lt;&#39;tcx&gt;&gt;,
    }

    enum PlaceBase&lt;&#39;tcx&gt; {
        /// local variable
        Local(Local),

        /// static or static mut variable
        Static(Box&lt;Static&lt;&#39;tcx&gt;&gt;),

        /// Constant code promoted to an injected static
        Promoted(Box&lt;(Promoted, Ty&lt;&#39;tcx&gt;)&gt;),
    }
</pre></div>



<a name="159524236"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159524236" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159524236">(Feb 27 2019 at 15:31)</a>:</h4>
<p><span class="user-mention" data-user-id="124288">@oli</span> <span class="user-mention" data-user-id="119009">@eddyb</span> are we sold on this?</p>



<a name="159524247"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159524247" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159524247">(Feb 27 2019 at 15:31)</a>:</h4>
<p>starting to change code to that</p>



<a name="159524346"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159524346" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159524346">(Feb 27 2019 at 15:32)</a>:</h4>
<p>seems good to me, the thing is ... isn't that more or less how <code>NeoPlace</code> was going to look like?</p>



<a name="159524361"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159524361" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159524361">(Feb 27 2019 at 15:33)</a>:</h4>
<p>won't that mean that I'm going to change all the algorithms at once to make all this compile?</p>



<a name="159525035"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159525035" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159525035">(Feb 27 2019 at 15:40)</a>:</h4>
<blockquote>
<p>I wouldn't include unroll changes in the PR, but struct changes are fine with me</p>
</blockquote>
<p><span class="user-mention" data-user-id="124288">@oli</span> also, I guess this is wrong</p>



<a name="159525089"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159525089" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159525089">(Feb 27 2019 at 15:40)</a>:</h4>
<p>if I do the struct changes before the unroll thing and mainly make all the algorithms that are recursive use unroll, my guess is that when I go and change to struct I'm going to need to change a lot of things</p>



<a name="159525138"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159525138" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159525138">(Feb 27 2019 at 15:41)</a>:</h4>
<p>it seems that we really want to make unroll and change the recursive algorithms to use unroll before we do the struct</p>



<a name="159525153"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159525153" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159525153">(Feb 27 2019 at 15:41)</a>:</h4>
<p>but anyway, the struct part, given that is not recursive anymore, it's probably going to be huge</p>



<a name="159525698"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159525698" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159525698">(Feb 27 2019 at 15:47)</a>:</h4>
<p>to be clear, at the beginning I didn't notice this <code>elem: &amp;'tcx Slice&lt;ProjectionElem&lt;'tcx&gt;&gt;,</code> there's <code>ProjectionElem</code> there and not <code>PlaceProjection</code></p>



<a name="159525765"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159525765" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159525765">(Feb 27 2019 at 15:48)</a>:</h4>
<p>which is perfect but makes the change need to change all the algorithms at once</p>



<a name="159525945"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159525945" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159525945">(Feb 27 2019 at 15:50)</a>:</h4>
<p>anyway, the iterate idea seems fine at glance, it just that it has confused me a bit the last thing <span class="user-mention" data-user-id="124288">@oli</span> have said about changing to struct before doing the <code>unroll</code> (iterate) thing</p>



<a name="159525957"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159525957" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159525957">(Feb 27 2019 at 15:50)</a>:</h4>
<p>that seems harder and seems like, let's make all the change at once</p>



<a name="159526400"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159526400" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159526400">(Feb 27 2019 at 15:56)</a>:</h4>
<p>PS, I'm skimming <a href="https://paper.dropbox.com/doc/Place-2.0-current-PR-status--AYUrjpmSa7Puhd6_IXA1cxMMAg-vmbnFv8VkCEuL57QfWWMH" target="_blank" title="https://paper.dropbox.com/doc/Place-2.0-current-PR-status--AYUrjpmSa7Puhd6_IXA1cxMMAg-vmbnFv8VkCEuL57QfWWMH">this paper document</a>, is this still the best place to catch up?</p>



<a name="159526999"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159526999" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159526999">(Feb 27 2019 at 16:03)</a>:</h4>
<p>yep + <a href="https://paper.dropbox.com/doc/Place-2.0--AYUHQlgQ5SLF212yfVpmYBrEAg-9NjhX4N9I3dEt6YCJM8Ln" target="_blank" title="https://paper.dropbox.com/doc/Place-2.0--AYUHQlgQ5SLF212yfVpmYBrEAg-9NjhX4N9I3dEt6YCJM8Ln">this paper doc</a> + this chat :)</p>



<a name="159527075"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159527075" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159527075">(Feb 27 2019 at 16:04)</a>:</h4>
<p>The steps I see are:</p>
<ul>
<li>add a <code>PlaceBase</code> ( <span aria-label="check mark" class="emoji emoji-2714" role="img" title="check mark">:check_mark:</span> )</li>
<li>add an <code>iterate</code> method ( <span aria-label="check mark" class="emoji emoji-2714" role="img" title="check mark">:check_mark:</span>, I definitely think trying to rewrite the algorithms to iterable form makes sense) </li>
<li>change place to a pair of (base, projection) (huh? I don't understand the proposed struct, it doesn't seem quite right)</li>
<li>add NeoPlace -- I don't get this part</li>
</ul>
<p>One thing that I brought up with with <span class="user-mention" data-user-id="116266">@Santiago Pastorino</span> a few times is that MIR <strong>construction</strong> will want to be changed to be efficient. I think it might make sense, after adding the <code>iterate</code> method, to try and introduce a <code>PlaceBuilder</code> and port MIR construction to use it. This would be relatively easy to write atop the existing <code>Place</code>. </p>
<p>Once that is done, I think that we could probably do a "final step" that changes <code>Place</code> to the new structure -- the <strong>producers</strong> won't have to be changed, as they are now using <code>PlaceBuilder</code>. Most <strong>consumers</strong> won't have to be changed, as they are now using <code>iterate</code>. Only the <strong>tree-based consumers</strong> will have to be updated, and (if we use the slice representation I was suggesting) they can be ported with relative ease I think. (I'm not sure how many there are.)</p>



<a name="159527131"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159527131" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> csmoe <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159527131">(Feb 27 2019 at 16:05)</a>:</h4>
<p>I successfully rewrote the place_confilct without <code>unroll</code> in the old PR with the new <code>Place</code>. it was kind easy, but not sure how it will be with place2.0</p>



<a name="159527132"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159527132" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159527132">(Feb 27 2019 at 16:05)</a>:</h4>
<p>OK, well, see my two cents there <span class="user-mention" data-user-id="116266">@Santiago Pastorino</span> <span aria-label="point up" class="emoji emoji-1f446" role="img" title="point up">:point_up:</span> </p>
<p>tl;dr I think the first 2 steps seem good, but I suspect we can insert some transition steps before making the final conversion and things will go more smoothly.</p>



<a name="159527462"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159527462" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159527462">(Feb 27 2019 at 16:08)</a>:</h4>
<p>yes</p>



<a name="159527466"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159527466" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159527466">(Feb 27 2019 at 16:08)</a>:</h4>
<p>seems good</p>



<a name="159534700"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159534700" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159534700">(Feb 27 2019 at 17:30)</a>:</h4>
<p>The idea of the base,projection_tree pair is that it doesn't change how the recursive algorithms work, but enormously simplifies all the algorithms that just care about the base</p>



<a name="159534744"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159534744" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159534744">(Feb 27 2019 at 17:31)</a>:</h4>
<p>It is also closer to the final (base, projection_slice) structure</p>



<a name="159535194"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159535194" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159535194">(Feb 27 2019 at 17:36)</a>:</h4>
<p>I haven't looked at construction at all so far, I will do that and sketch some ideas</p>



<a name="159535373"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159535373" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159535373">(Feb 27 2019 at 17:39)</a>:</h4>
<p><span class="user-mention" data-user-id="124288">@oli</span> the struct in the doc says Slice, you meant to have the recursive form there?</p>



<a name="159535435"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159535435" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159535435">(Feb 27 2019 at 17:40)</a>:</h4>
<div class="codehilite"><pre><span></span><span class="w">    </span><span class="k">struct</span> <span class="nc">Place</span><span class="o">&lt;</span><span class="na">&#39;tcx</span><span class="o">&gt;</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
<span class="w">        </span><span class="n">base</span>: <span class="nc">PlaceBase</span><span class="o">&lt;</span><span class="na">&#39;tcx</span><span class="o">&gt;</span><span class="p">,</span><span class="w"></span>
<span class="w">        </span><span class="n">elem</span>: <span class="kp">&amp;</span><span class="na">&#39;tcx</span><span class="w"> </span><span class="n">Slice</span><span class="o">&lt;</span><span class="n">ProjectionElem</span><span class="o">&lt;</span><span class="na">&#39;tcx</span><span class="o">&gt;&gt;</span><span class="p">,</span><span class="w"></span>
<span class="w">    </span><span class="p">}</span><span class="w"></span>

<span class="w">    </span><span class="k">enum</span> <span class="nc">PlaceBase</span><span class="o">&lt;</span><span class="na">&#39;tcx</span><span class="o">&gt;</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
<span class="w">        </span><span class="sd">/// local variable</span>
<span class="w">        </span><span class="n">Local</span><span class="p">(</span><span class="n">Local</span><span class="p">),</span><span class="w"></span>

<span class="w">        </span><span class="sd">/// static or static mut variable</span>
<span class="w">        </span><span class="n">Static</span><span class="p">(</span><span class="nb">Box</span><span class="o">&lt;</span><span class="n">Static</span><span class="o">&lt;</span><span class="na">&#39;tcx</span><span class="o">&gt;&gt;</span><span class="p">),</span><span class="w"></span>

<span class="w">        </span><span class="sd">/// Constant code promoted to an injected static</span>
<span class="w">        </span><span class="n">Promoted</span><span class="p">(</span><span class="nb">Box</span><span class="o">&lt;</span><span class="p">(</span><span class="n">Promoted</span><span class="p">,</span><span class="w"> </span><span class="n">Ty</span><span class="o">&lt;</span><span class="na">&#39;tcx</span><span class="o">&gt;</span><span class="p">)</span><span class="o">&gt;</span><span class="p">),</span><span class="w"></span>
<span class="w">    </span><span class="p">}</span><span class="w"></span>
</pre></div>



<a name="159535461"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159535461" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159535461">(Feb 27 2019 at 17:40)</a>:</h4>
<p><code>ProjectionElem</code> is the way it should look like when is not recursive anymore</p>



<a name="159535491"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159535491" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159535491">(Feb 27 2019 at 17:41)</a>:</h4>
<p><code>PlaceProjection</code> is the current recursive form</p>



<a name="159536393"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159536393" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159536393">(Feb 27 2019 at 17:52)</a>:</h4>
<p>That's the final form that we want to have. As a first step, just having the old ProjectionElem(without even the slice) there is what i meant. I'll elaborate in the doc when i get back on a PC</p>



<a name="159536408"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159536408" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159536408">(Feb 27 2019 at 17:52)</a>:</h4>
<p>ahh yeah</p>



<a name="159536425"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159536425" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159536425">(Feb 27 2019 at 17:53)</a>:</h4>
<p>because I was confused that the third step says ... add that</p>



<a name="159538778"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159538778" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159538778">(Feb 27 2019 at 18:18)</a>:</h4>
<p><span class="user-mention" data-user-id="124288">@oli</span> btw, I was mentioning this to <span class="user-mention" data-user-id="116009">@nikomatsakis</span> too, should we have a synced Zulip meeting where we can lay out a plan for this that we all agree?</p>



<a name="159538834"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159538834" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159538834">(Feb 27 2019 at 18:19)</a>:</h4>
<p>my main goal is to better understand what we are going to do, for now I'm following blindly because I don't understand what each step is for</p>



<a name="159538880"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159538880" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159538880">(Feb 27 2019 at 18:19)</a>:</h4>
<p>I mean, is not exactly that I don't understand</p>



<a name="159538914"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159538914" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159538914">(Feb 27 2019 at 18:20)</a>:</h4>
<p>maybe it's just because there are some things that needs clarification</p>



<a name="159538961"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159538961" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159538961">(Feb 27 2019 at 18:20)</a>:</h4>
<p>but I don't see/understand the 100% of the idea yet</p>



<a name="159543005"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159543005" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159543005">(Feb 27 2019 at 19:08)</a>:</h4>
<p>Oh, sorry. Please stop me from now on if I go off on an explanation that isn't helpful for comprehending what i mean</p>



<a name="159543088"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159543088" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159543088">(Feb 27 2019 at 19:08)</a>:</h4>
<p>Just ask any question you have or ask for a reexplanation. I'll happily provide that</p>



<a name="159543121"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159543121" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159543121">(Feb 27 2019 at 19:09)</a>:</h4>
<p>If a sync meeting helps, we can setup a time</p>



<a name="159543515"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159543515" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159543515">(Feb 27 2019 at 19:13)</a>:</h4>
<p><span class="user-mention" data-user-id="124288">@oli</span> thanks!, after talking a bit with you and <span class="user-mention" data-user-id="116009">@nikomatsakis</span> I guess I have some stuff to play with for a bit</p>



<a name="159551362"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159551362" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159551362">(Feb 27 2019 at 20:54)</a>:</h4>
<blockquote>
<p>The idea of the base,projection_tree pair is that it doesn't change how the recursive algorithms work, but enormously simplifies all the algorithms that just care about the base</p>
</blockquote>
<p><span class="user-mention" data-user-id="124288">@oli</span> maybe I didn't read closely enough, is one of the "projection tree" parts just a <code>Base</code> unit variant or something? I'm not convinced that this step is easier than adopting a slice that can be made into a tree by subslicing, <em>if</em> we lay the groundwork  first. That said, it seems like the first step (moving to an iterator) is clear, and I personally think introducing a "builder" or something would be a good second step, so it's some time before this becomes a prime concern.</p>



<a name="159557903"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159557903" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159557903">(Feb 27 2019 at 22:16)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> the reason i wanted that intermediate step is the base field, which we'll have in the end, too. The step to a slice would then be limited to the projection field. I think it's an orthogonal refactoring to the slicing/builder scheme, so we can do it afterwards (if even necessary anymore)</p>



<a name="159643866"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159643866" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159643866">(Feb 28 2019 at 19:25)</a>:</h4>
<p><span class="user-mention" data-user-id="124288">@oli</span> <span class="user-mention" data-user-id="126931">@centril</span> <a href="https://github.com/rust-lang/rust/pull/58631" target="_blank" title="https://github.com/rust-lang/rust/pull/58631">https://github.com/rust-lang/rust/pull/58631</a> conflicts again in the PR :(</p>



<a name="159643902"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159643902" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159643902">(Feb 28 2019 at 19:25)</a>:</h4>
<p>going to rebase again</p>



<a name="159643961"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159643961" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> dlrobertson <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159643961">(Feb 28 2019 at 19:26)</a>:</h4>
<p>sorry, my bad :(</p>



<a name="159644119"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159644119" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> dlrobertson <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159644119">(Feb 28 2019 at 19:28)</a>:</h4>
<p>That's due to the refactoring of each of the match arms in <code>codegen_terminator</code> into a separate method</p>



<a name="159644347"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159644347" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159644347">(Feb 28 2019 at 19:30)</a>:</h4>
<p>no worries, it's fine</p>



<a name="159644403"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159644403" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159644403">(Feb 28 2019 at 19:31)</a>:</h4>
<p>just wondering how to escape that conflicts :)</p>



<a name="159661675"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159661675" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159661675">(Feb 28 2019 at 23:12)</a>:</h4>
<p><span class="user-mention" data-user-id="124288">@oli</span> <span class="user-mention" data-user-id="126931">@centril</span> I've just force pushed <a href="https://github.com/rust-lang/rust/pull/58631" target="_blank" title="https://github.com/rust-lang/rust/pull/58631">https://github.com/rust-lang/rust/pull/58631</a></p>



<a name="159661814"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159661814" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> centril <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159661814">(Feb 28 2019 at 23:14)</a>:</h4>
<p>I haven't actually looked at the PR so ill let Oliver r+ and stuff</p>



<a name="159671041"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159671041" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159671041">(Mar 01 2019 at 01:46)</a>:</h4>
<p>the main question is, how to make this merge quickly</p>



<a name="159671066"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159671066" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159671066">(Mar 01 2019 at 01:47)</a>:</h4>
<p>queue seems to be taking a couple of days and when it's about to be merged it ends with conflicts</p>



<a name="159673127"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159673127" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> centril <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159673127">(Mar 01 2019 at 02:31)</a>:</h4>
<p><span class="user-mention" data-user-id="116266">@Santiago Pastorino</span> you p=20 the PR <span aria-label="slight smile" class="emoji emoji-1f642" role="img" title="slight smile">:slight_smile:</span></p>



<a name="159676904"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159676904" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159676904">(Mar 01 2019 at 04:03)</a>:</h4>
<p>I'm not sure I have the rights</p>



<a name="159676991"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159676991" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> centril <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159676991">(Mar 01 2019 at 04:05)</a>:</h4>
<p><span class="user-mention" data-user-id="116266">@Santiago Pastorino</span>  I did it</p>



<a name="159715555"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159715555" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159715555">(Mar 01 2019 at 14:01)</a>:</h4>
<p>whoo, we are live!</p>



<a name="159718472"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159718472" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159718472">(Mar 01 2019 at 14:33)</a>:</h4>
<p><span class="user-mention" data-user-id="124288">@oli</span> a couple of things</p>



<a name="159718549"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159718549" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159718549">(Mar 01 2019 at 14:34)</a>:</h4>
<p>first there was a conflict on miri PR, I've force pushed some minutes ago</p>



<a name="159718573"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159718573" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159718573">(Mar 01 2019 at 14:34)</a>:</h4>
<p>the other important thing is ... should I quickly go towards the move into a struct before this break everything window closes?</p>



<a name="159718604"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159718604" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159718604">(Mar 01 2019 at 14:35)</a>:</h4>
<p>as you may have seen I've done some stuff related to iterators but I didn't review those things that much</p>



<a name="159718630"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159718630" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159718630">(Mar 01 2019 at 14:35)</a>:</h4>
<p>anyway, I guess I could do first the struct move thing and have that merge before this window closes?</p>



<a name="159722780"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159722780" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159722780">(Mar 01 2019 at 15:26)</a>:</h4>
<p>This "break everything window" closes only for a week every 6 weeks</p>



<a name="159722786"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159722786" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159722786">(Mar 01 2019 at 15:26)</a>:</h4>
<p>so I wouldn't worry</p>



<a name="159722897"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159722897" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159722897">(Mar 01 2019 at 15:28)</a>:</h4>
<p><span class="user-mention" data-user-id="124288">@oli</span> but I think I can do the struct thing quickly</p>



<a name="159722960"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159722960" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159722960">(Mar 01 2019 at 15:28)</a>:</h4>
<p>so the real questions is ... should I do the struct thing first or the iterate thing?</p>



<a name="159723055"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159723055" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159723055">(Mar 01 2019 at 15:29)</a>:</h4>
<p><span class="user-mention" data-user-id="124288">@oli</span> and btw, my prs to miri and rust-clippy both are failing because it's using, I guess a previous rustc</p>



<a name="159723057"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159723057" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159723057">(Mar 01 2019 at 15:29)</a>:</h4>
<p>how do one change that?</p>



<a name="159723066"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159723066" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159723066">(Mar 01 2019 at 15:29)</a>:</h4>
<p>miri: wait a day</p>



<a name="159723072"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159723072" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159723072">(Mar 01 2019 at 15:29)</a>:</h4>
<p>clippy should work immediately</p>



<a name="159723088"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159723088" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159723088">(Mar 01 2019 at 15:29)</a>:</h4>
<p>ok, do I need to do something else with that then?</p>



<a name="159723145"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159723145" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159723145">(Mar 01 2019 at 15:30)</a>:</h4>
<p>or just wait and you are going to merge?</p>



<a name="159723150"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159723150" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159723150">(Mar 01 2019 at 15:30)</a>:</h4>
<p>I'm just waiting for travis, then I'll r+ it</p>



<a name="159723194"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159723194" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159723194">(Mar 01 2019 at 15:30)</a>:</h4>
<p>yes, you don't need to do anything further. Thanks for fixing it!</p>



<a name="159723201"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159723201" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159723201">(Mar 01 2019 at 15:30)</a>:</h4>
<p>ok that with clippy but what with miri</p>



<a name="159723216"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159723216" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159723216">(Mar 01 2019 at 15:30)</a>:</h4>
<p>you need to kick the ci I guess?</p>



<a name="159723231"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159723231" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159723231">(Mar 01 2019 at 15:30)</a>:</h4>
<p>with miri just wait until tomorrow and then I'll restart CI and merge it</p>



<a name="159723255"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159723255" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159723255">(Mar 01 2019 at 15:31)</a>:</h4>
<p>cool</p>



<a name="159723264"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159723264" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159723264">(Mar 01 2019 at 15:31)</a>:</h4>
<blockquote>
<p>so the real questions is ... should I do the struct thing first or the iterate thing?</p>
</blockquote>
<p>in this regard I can go whatever you prefer</p>



<a name="159723268"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159723268" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159723268">(Mar 01 2019 at 15:31)</a>:</h4>
<p>it's more or less the same for me</p>



<a name="159723295"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159723295" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159723295">(Mar 01 2019 at 15:31)</a>:</h4>
<p>I'm maybe tempted to do merge the struct thing first</p>



<a name="159723301"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159723301" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159723301">(Mar 01 2019 at 15:31)</a>:</h4>
<p>given the pain that it is</p>



<a name="159723311"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159723311" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159723311">(Mar 01 2019 at 15:31)</a>:</h4>
<p>and so we don't need to wait for 6 weeks</p>



<a name="159723409"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159723409" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159723409">(Mar 01 2019 at 15:32)</a>:</h4>
<p>sgtm. You are doing the impls, so you are calling the shots!</p>



<a name="159724363"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159724363" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159724363">(Mar 01 2019 at 15:46)</a>:</h4>
<p><span class="user-mention" data-user-id="124288">@oli</span> <a href="https://github.com/rust-lang/rust-clippy/pull/3823" target="_blank" title="https://github.com/rust-lang/rust-clippy/pull/3823">clippy PR</a> fails on macOS</p>



<a name="159724376"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159724376" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159724376">(Mar 01 2019 at 15:46)</a>:</h4>
<p>unsure how is that setup and it may use nighly on macOS?</p>



<a name="159724499"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159724499" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159724499">(Mar 01 2019 at 15:48)</a>:</h4>
<blockquote>
<p>Installing /Users/travis/.cargo/bin/rustup-toolchain-install-master<br>
detecting the channel of the <code>17add2498f20bb5a638a65c53407c72ac11becf6</code> toolchain...<br>
error: <a href="https://s3-us-west-1.amazonaws.com/rust-lang-ci2/rustc-builds/17add2498f20bb5a638a65c53407c72ac11becf6/rust-src-nightly.tar.xz" target="_blank" title="https://s3-us-west-1.amazonaws.com/rust-lang-ci2/rustc-builds/17add2498f20bb5a638a65c53407c72ac11becf6/rust-src-nightly.tar.xz">https://s3-us-west-1.amazonaws.com/rust-lang-ci2/rustc-builds/17add2498f20bb5a638a65c53407c72ac11becf6/rust-src-nightly.tar.xz</a>: timed out<br>
error: toolchain 'master' is not installed</p>
</blockquote>



<a name="159724517"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159724517" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159724517">(Mar 01 2019 at 15:48)</a>:</h4>
<p>I guess mac os isn't uploaded yet?</p>



<a name="159728140"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159728140" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159728140">(Mar 01 2019 at 16:38)</a>:</h4>
<p><span class="user-mention" data-user-id="116266">@Santiago Pastorino</span> nice job btw -- I'm just sort of vaguely following along here =)</p>



<a name="159733513"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159733513" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159733513">(Mar 01 2019 at 18:02)</a>:</h4>
<p>ahh no idea</p>



<a name="159733982"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159733982" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159733982">(Mar 01 2019 at 18:02)</a>:</h4>
<p><span class="user-mention" data-user-id="124288">@oli</span> I guess that with your struct idea you want to remove Projection struct, ProjectionElem and those structures, right?</p>



<a name="159738646"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159738646" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159738646">(Mar 01 2019 at 18:50)</a>:</h4>
<blockquote>
<p><span class="user-mention silent" data-user-id="116266">Santiago Pastorino</span> nice job btw -- I'm just sort of vaguely following along here =)</p>
</blockquote>
<p><span aria-label="+1" class="emoji emoji-1f44d" role="img" title="+1">:+1:</span>, for now is just moving things around :)</p>



<a name="159747748"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159747748" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159747748">(Mar 01 2019 at 20:49)</a>:</h4>
<blockquote>
<p><span class="user-mention silent" data-user-id="124288">oli</span> I guess that with your struct idea you want to remove Projection struct, ProjectionElem and those structures, right?</p>
</blockquote>
<p><span class="user-mention" data-user-id="124288">@oli</span>  unsure what happen with this message ^^^, because it was delivered 2hs later than what I've sent it</p>



<a name="159747759"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159747759" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159747759">(Mar 01 2019 at 20:49)</a>:</h4>
<p>just mentioning you in case you missed it :)</p>



<a name="159747886"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159747886" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159747886">(Mar 01 2019 at 20:51)</a>:</h4>
<p>and also, btw</p>



<a name="159747896"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159747896" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159747896">(Mar 01 2019 at 20:51)</a>:</h4>
<p>the idea is that base always have the base thing</p>



<a name="159747920"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159747920" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159747920">(Mar 01 2019 at 20:51)</a>:</h4>
<p>but projection field is really the one that defines in what part of the path I am, right?</p>



<a name="159747927"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159747927" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159747927">(Mar 01 2019 at 20:51)</a>:</h4>
<p>to be more concrete</p>



<a name="159747931"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159747931" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159747931">(Mar 01 2019 at 20:51)</a>:</h4>
<p>for instance ...</p>



<a name="159748011"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159748011" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159748011">(Mar 01 2019 at 20:52)</a>:</h4>
<div class="codehilite"><pre><span></span>-            mir::Place::Base(mir::PlaceBase::Local(ref local)) =&gt; {
+            mir::Place { base: mir::PlaceBase::Local(ref local), projection: mir::PlaceProjection::Base } =&gt; {
</pre></div>



<a name="159748019"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159748019" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159748019">(Mar 01 2019 at 20:52)</a>:</h4>
<p>this is the right diff</p>



<a name="159748051"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159748051" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159748051">(Mar 01 2019 at 20:53)</a>:</h4>
<p>so, a <code>Place</code> is really a base place when <code>projection</code> is <code>PlaceProjection::Base</code></p>



<a name="159748240"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159748240" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159748240">(Mar 01 2019 at 20:55)</a>:</h4>
<p>So, <span class="user-mention" data-user-id="116266">@Santiago Pastorino</span>, in general I am <em>still</em> a bit confused by what oli's plan was about this (base, projection) tuple</p>



<a name="159748248"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159748248" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159748248">(Mar 01 2019 at 20:55)</a>:</h4>
<p>I think maybe it was this</p>



<a name="159748319"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159748319" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159748319">(Mar 01 2019 at 20:56)</a>:</h4>
<p>Right now, we have a setup like so:</p>
<div class="codehilite"><pre><span></span>P = &lt;local variable&gt;
    | &lt;static&gt;
    | *P (deref)
    | P.f
    | P[P]
</pre></div>



<a name="159748325"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159748325" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159748325">(Mar 01 2019 at 20:56)</a>:</h4>
<p>does that notation make sense?</p>



<a name="159748330"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159748330" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159748330">(Mar 01 2019 at 20:56)</a>:</h4>
<p>i.e., I'm using a grammar to describe the enum</p>



<a name="159748349"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159748349" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159748349">(Mar 01 2019 at 20:56)</a>:</h4>
<p>yes</p>



<a name="159748352"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159748352" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159748352">(Mar 01 2019 at 20:56)</a>:</h4>
<p>makes sense</p>



<a name="159748354"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159748354" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159748354">(Mar 01 2019 at 20:56)</a>:</h4>
<p>So I think what <span class="user-mention" data-user-id="124288">@oli</span> was proposing was</p>



<a name="159748357"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159748357" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159748357">(Mar 01 2019 at 20:56)</a>:</h4>
<p>To change it to this</p>



<a name="159748392"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159748392" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159748392">(Mar 01 2019 at 20:57)</a>:</h4>
<div class="codehilite"><pre><span></span>Place = (Base, Projection)
Base = &lt;local varibable&gt; | &lt;static&gt;
Projection = B | *Projection | Projection.F | Projection[Place]
</pre></div>



<a name="159748402"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159748402" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159748402">(Mar 01 2019 at 20:57)</a>:</h4>
<p>where <code>B</code> is kind of a "special marker" to mean</p>



<a name="159748407"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159748407" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159748407">(Mar 01 2019 at 20:57)</a>:</h4>
<p>"the base from this place"</p>



<a name="159748489"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159748489" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159748489">(Mar 01 2019 at 20:58)</a>:</h4>
<p>yes</p>



<a name="159748493"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159748493" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159748493">(Mar 01 2019 at 20:58)</a>:</h4>
<p>so now to represent <code>*x.y</code> you would not have</p>
<ul>
<li>*<ul>
<li><code>.y</code><ul>
<li><code>x</code></li>
</ul>
</li>
</ul>
</li>
</ul>
<p>but rather</p>
<p><code>(x, *B.y)</code></p>



<a name="159748513"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159748513" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159748513">(Mar 01 2019 at 20:58)</a>:</h4>
<p>that is, the pair of <code>x</code> and</p>
<ul>
<li><code>.y</code><ul>
<li><code>B</code></li>
</ul>
</li>
</ul>



<a name="159748557"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159748557" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159748557">(Mar 01 2019 at 20:59)</a>:</h4>
<p>yep</p>



<a name="159748581"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159748581" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159748581">(Mar 01 2019 at 20:59)</a>:</h4>
<p>so, as I said, a base is a base when you have base = something and projection = that marker, right?</p>



<a name="159748665"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159748665" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159748665">(Mar 01 2019 at 21:00)</a>:</h4>
<p>the marker being <code>ProjectionPlace::Base</code></p>



<a name="159748670"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159748670" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159748670">(Mar 01 2019 at 21:00)</a>:</h4>
<p>ah, right</p>



<a name="159748672"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159748672" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159748672">(Mar 01 2019 at 21:00)</a>:</h4>
<p>yes</p>



<a name="159748676"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159748676" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159748676">(Mar 01 2019 at 21:00)</a>:</h4>
<p>yes, that's more or less what I thought</p>



<a name="159748677"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159748677" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159748677">(Mar 01 2019 at 21:00)</a>:</h4>
<p>so the path <code>x</code> is just <code>(x, B)</code></p>



<a name="159748682"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159748682" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159748682">(Mar 01 2019 at 21:00)</a>:</h4>
<p>ok</p>



<a name="159748684"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159748684" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159748684">(Mar 01 2019 at 21:00)</a>:</h4>
<p>yes</p>



<a name="159748688"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159748688" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159748688">(Mar 01 2019 at 21:00)</a>:</h4>
<p>makes sense</p>



<a name="159748695"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159748695" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159748695">(Mar 01 2019 at 21:00)</a>:</h4>
<p>Yeah, it makes some sense</p>



<a name="159748705"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159748705" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159748705">(Mar 01 2019 at 21:01)</a>:</h4>
<p>a lot of algorithms want "easy access" to the base</p>



<a name="159748712"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159748712" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159748712">(Mar 01 2019 at 21:01)</a>:</h4>
<p>and this structure gives it to them</p>



<a name="159748722"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159748722" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159748722">(Mar 01 2019 at 21:01)</a>:</h4>
<p>it's also "closer" to the (base, [projection]) setup we were shooting for</p>



<a name="159748749"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159748749" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159748749">(Mar 01 2019 at 21:01)</a>:</h4>
<p>So does that unblock you, or is your question something more involved? :)</p>



<a name="159750713"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159750713" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159750713">(Mar 01 2019 at 21:28)</a>:</h4>
<p>this is great</p>



<a name="159750716"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159750716" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159750716">(Mar 01 2019 at 21:28)</a>:</h4>
<p>:)</p>



<a name="159750733"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159750733" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159750733">(Mar 01 2019 at 21:29)</a>:</h4>
<p>starting to work on a change like this and figuring it out at the end that something is wrong would be very bad :)</p>



<a name="159750745"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159750745" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159750745">(Mar 01 2019 at 21:29)</a>:</h4>
<blockquote>
<p><span class="user-mention silent" data-user-id="124288">oli</span> I guess that with your struct idea you want to remove Projection struct, ProjectionElem and those structures, right?</p>
</blockquote>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> this was my other assumption from that code</p>



<a name="159750756"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159750756" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159750756">(Mar 01 2019 at 21:29)</a>:</h4>
<p>that there are things that are not needed anymore</p>



<a name="159750763"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159750763" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159750763">(Mar 01 2019 at 21:29)</a>:</h4>
<p>seems likely</p>



<a name="159750834"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/159750834" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#159750834">(Mar 01 2019 at 21:30)</a>:</h4>
<p>just super hyper checking stuff because this will be a massive change that would be, again, very bad if I do the wrong thing :)</p>



<a name="160205952"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/160205952" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#160205952">(Mar 07 2019 at 15:11)</a>:</h4>
<p><span class="user-mention" data-user-id="124288">@oli</span> when does the break everything wondow closes?</p>



<a name="160205974"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/160205974" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#160205974">(Mar 07 2019 at 15:11)</a>:</h4>
<p>I mean, if I were landing the Place PR that changes the representation to be a struct</p>



<a name="160205980"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/160205980" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#160205980">(Mar 07 2019 at 15:11)</a>:</h4>
<p>No idea, but I wouldn't worry, it's just a week, so at worst it'll be delayed by a week</p>



<a name="160205984"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/160205984" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#160205984">(Mar 07 2019 at 15:11)</a>:</h4>
<p>when is the last moment to do so?</p>



<a name="160206001"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/160206001" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#160206001">(Mar 07 2019 at 15:12)</a>:</h4>
<p>usually the 7 days before a beta cut</p>



<a name="160206050"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/160206050" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#160206050">(Mar 07 2019 at 15:12)</a>:</h4>
<p>so like 14 days before a new stable release or sth?</p>



<a name="160206054"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/160206054" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#160206054">(Mar 07 2019 at 15:12)</a>:</h4>
<blockquote>
<p>usually the 7 days before a beta cut</p>
</blockquote>
<p>ahhh</p>



<a name="160206082"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/160206082" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#160206082">(Mar 07 2019 at 15:12)</a>:</h4>
<p>I thought that after the release it was 1 week of break everything in the 6 weeks period</p>



<a name="160206091"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/160206091" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#160206091">(Mar 07 2019 at 15:12)</a>:</h4>
<p>I see that is 1 week of do not break in the 6 weeks window :)</p>



<a name="160206092"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/160206092" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#160206092">(Mar 07 2019 at 15:12)</a>:</h4>
<p>ok</p>



<a name="160206095"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/160206095" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#160206095">(Mar 07 2019 at 15:12)</a>:</h4>
<p>nope, other way around</p>



<a name="161065027"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/161065027" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#161065027">(Mar 18 2019 at 15:04)</a>:</h4>
<p>we now have our own stream in the form of <a class="stream" data-stream-id="189540" href="/#narrow/stream/189540-t-compiler.2Fwg-mir-opt">#t-compiler/wg-mir-opt</a> So any future discussion of place 2.0 should take place (heh) there</p>



<a name="161084136"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/161084136" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#161084136">(Mar 18 2019 at 18:37)</a>:</h4>
<p><span class="user-mention" data-user-id="124288">@oli</span> I was very busy with conference organization so I haven't touch Place 2.0 for a while</p>



<a name="161084156"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/161084156" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#161084156">(Mar 18 2019 at 18:37)</a>:</h4>
<p>was just started again to do the struct thing we have pending :)</p>



<a name="161129953"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/place%202.0/near/161129953" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/place.202.2E0.html#161129953">(Mar 19 2019 at 08:20)</a>:</h4>
<p>no pressure!</p>



<hr><p>Last updated: Aug 07 2021 at 22:04 UTC</p>
</html>